package com.qiaoba.module.system.service;

import com.qiaoba.api.system.service.SysRoleApiService;
import com.qiaoba.module.system.entity.SysRole;
import com.qiaoba.module.system.entity.dto.DataScopeDTO;
import com.qiaoba.module.system.entity.param.SysRoleParam;

import java.util.List;

/**
 * 角色 服务层
 *
 * @author ailanyin
 * @date 2023-09-10 14:03:22
 */
public interface SysRoleService extends SysRoleApiService {

    /**
     * 修改数据权限信息
     *
     * @param dto 角色ID + deptIds
     * @return 结果
     */
    int updateDataScope(DataScopeDTO dto);

    /**
     * 批量删除角色
     *
     * @param ids 角色IDS
     * @return 结果
     */
    int deleteByIds(List<String> ids);

    /**
     * 查询角色
     *
     * @param roleId    角色ID
     * @param allowNull 是否允许空
     * @return 角色
     */
    SysRole selectById(String roleId, boolean allowNull);

    /**
     * 查询角色列表
     *
     * @param param 查询条件
     * @return 角色列表
     */
    List<SysRole> selectList(SysRoleParam param);

}
